Scrapboxで技術同人誌を書いている話 (daiiz)
20:25~
こんばんは
https://gyazo.com/cafbddd511d723981560c5e25619917b
daiizです daiiz.icon
京都でScrapboxを開発しています
ユーザー時代からScrapboxを色々な活用法を実験している
今日はScrapboxで技術同人誌を書く話です
Scrapbox実験コーナー
バックナンバー
目標
これまでScrapboxに書き溜めたページを再構成して一冊の薄い本を書く
Scrapbox上で執筆する
ボタン一発で印刷所に入稿可能なPDFファイルを生成する
Scrapboxのページグラフ
https://gyazo.com/19aa7010cf2dece28e8c026904ff6e5f/raw
privateなprojectではまた違った様相
育ってきたノードについて書く
思い入れのあるネタ、気づいたら詳しくなっていたネタが見えてくる
ネタは十分にある、という状態
Scrapboxは執筆前のネタ集めに最適
ページグラフのシリアライズ
ページグラフは日々刻々と成長している
ある時点での成果をシリアライズして放出する価値があるのではないか?
人生の節目で撮る写真みたいに
目次を書く
https://gyazo.com/3e72de646ebe6bde875326d5e26b28d6/raw
プリアンブルも書ける
https://gyazo.com/34ec20f9c74863a33699874ec7f8fb5f/raw
コンパイル時にここに書いた設定が反映される
章を書く
普段どおり書く
書きやすさを求めた工夫
Scrapbox上で連続する行を一行として出力する
空行を挟むと別の行として認識される
さらに行頭に[ ]を書いて字下げすると改段落される
節を別ページに切り出せる
1ページが長くなりすぎてしまうと見通しが悪い
将来的にエクスポートしたJSONファイルを配布することも考えているので、普段のスクボのように小粒なページで表現されている方が嬉しい
付録
参照されているが目次には存在しないページをAppendixとして巻末に収録する
https://gyazo.com/ffd05155578bffa3ae2d4009393646d5/raw
節を別ページに切り出せる
執筆時も小さいページを組み合わせる体験をしたい
章や節を個別にPDFプレビューできる
章ページにリンクを張っておけば展開されるようにした
https://gyazo.com/950ad29db644f1a082c96813c3603e63/raw
記法の拡張
上級者向けの機能として文字装飾記法の拡張がある
執筆に便利な記法を定義した
UserCSSで見た目を書く
自作の文書変換器で解釈できるようにする
定義した記法
コメント
[# ここはコメントです]
節の埋め込み
[! []]
図のキャプションと表示サイズ
https://gyazo.com/9e629d6c1456a5361765404374ab7283
脚注 (footnote)
Scrapboxの1ページは、直列化すると結構なボリュームになる
ページ自体は短くても関係するストーリーが分厚かったりする
面白そうなページを理解しやすい流れで一つにまとめあげないといけない
背景知識や目的を改めて述べる必要がある
しっかり説明しようとするとそれなりの分量になる
リンクによるコンテキストがないので各章の導入部も力を入れる
トピックごとに小さいページを沢山書いてリンクで関連付けるのはラク
本題をいきなり書ける気軽さは日々のメモとしてはやはり強力、と再認識した
https://gyazo.com/f2013bf319e2e9ec66496eb32f028cce/raw
Page Menu
https://gyazo.com/84e2028f42369c35498343ba06de9eb5/raw
ページをPDFで表示するボタン
ローカルサーバーにアップロードするボタン
製本するボタン
デモ
執筆環境用のプロジェクトを作った
原稿、進捗管理、ボツ案、その他のメモがすべてここにある
仕組み
Scrapboxページ ->
(content_script.js) --postMessage--> (background.js)
--POST--> ローカルサーバー
下線部はブラウザ拡張機能で実行
専用のブラウザ拡張機能
ページのHTML要素のclassNameなどを読んで記法を解釈
LaTeXとして出力
ローカルサーバーにアップロード
そのうち公開予定
ドッグフーディングの真っ最中
ローカルサーバー
LaTeX文書からPDF/X-1a形式のPDFファイルを生成する
画像をRGB → CMYKに変換する
ページに含まれる画像をfetchして一括変換
こちらもDocker image を公開予定
TeXコンパイル環境を一瞬で構築できて便利
おまけ
PDF/X-1a
LuaTeXで\usepackage[x-1a1]{pdfx}を指定すれば生成できる 画像の変換はやってくれないので自分で処理する
この規格に沿っていれば印刷所でのトラブルは避けられる
主な制約
画像がすべてCMYKまたはGrayscaleカラースペースで表現されていること フォント埋め込みされていること
トリムボックス (仕上がりサイズ)、ブリードボックス (裁ち落としサイズ) 指定されていること
プリアンブルのgentomboを消せばトンボなしでも出力できるので電子書籍向けファイルも簡単に生成できる まとめ
日頃書き溜めたページを組み合わせて本を書こう